Integration Testing of Context-sensitive Middleware-based Applications: a Metamorphic Approach
نویسندگان
چکیده
During the testing of context-sensitive middleware-based software, the middleware checks the current situation to invoke the appropriate functions of the applications. Since the middleware remains active and the situation may continue to evolve, however, the conclusion of some test cases may not easily be identified. Moreover, failures appearing in one situation may be superseded by subsequent correct outcomes and, therefore, be hidden. We alleviate the above problems by making use of a special kind of situation, which we call checkpoints, such that the middleware will not activate the functions under test. We recommend testers to generate test cases that start at a checkpoint and end at another. Testers may identify relations that associate different execution sequences of a test case. They then check the results of each test case to detect any contravention of such relations. We illustrate our technique with an example that shows how hidden failures can be detected. We also report the experimentation carried out on an RFID-based location-sensing application on top of a context-sensitive middleware.
منابع مشابه
A Middleware Service for Secure Group Communication in Mobile Ad Hoc Networks
Secure group communication in mobile ad hoc networks is often dynamic and impromptu, and thus requires efficient and automated secure group management and seamless combination of secure groups with distributed applications running upon them. Existing approaches to secure group communication cannot satisfy these requirements. In this paper, an automated secure group management approach is presen...
متن کاملPredicting Metamorphic Relation for Matrix Calculation Programs
Matrices often represent important information in scientific applications and are involved in performing complex calculations. But systematically testing these applications is hard due to the oracle problem. Metamorphic testing is an effective approach to test such applications because it uses metamorphic relations to determine whether test cases have passed or failed. Metamorphic relations are...
متن کاملProperties of Machine Learning Applications for Use in Metamorphic Testing
It is challenging to test machine learning (ML) applications, which are intended to learn properties of data sets where the correct answers are not already known. In the absence of a test oracle, one approach to testing these applications is to use metamorphic testing, in which properties of the application are exploited to define transformation functions on the input, such that the new output ...
متن کاملA context-sensitive middleware for dynamic integration of mobile devices with network infrastructures
Network infrastructures (NI), such as the Internet, grid, smart spaces, and enterprise computing environments usually consists of computing nodes that are stationary, provide the backbone for environment sensing and high-performance computing and communication. NI, in addition, may have various types of application software for performing resource-intensive computation. On the other hand, recen...
متن کاملMetamorphic Runtime Checking of Non-Testable Programs
Challenges arise in assuring the quality of applications that do not have test oracles, i.e., for which it is impossible to know what the correct output should be for arbitrary input. Metamorphic testing has been shown to be a simple yet effective technique in addressing the quality assurance of these “non-testable programs”. In metamorphic testing, if test input x produces output f (x), specif...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- International Journal of Software Engineering and Knowledge Engineering
دوره 16 شماره
صفحات -
تاریخ انتشار 2006